<?xml version='1.0' encoding='ISO-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">             
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">                                
                <p:spacer height="10px"/>
                <p:panel id="pnlTabla" header="#{i18n['seguimiento.convocatoria.lista.req.panel']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid columns="1">

                        <p:dataTable id="tblPrincipal" styleClass="estiloPanel"  var="dtoReq" value="#{convocatoriaMBean.listaRequerimientosPorConvocatoria}">  
                            <p:column style="width:2%">  
                                <p:rowToggler />  
                            </p:column> 

                            <p:column headerText="#{i18n['general.label.id']}"  style="text-align:center;">
                                <h:outputText value="#{dtoReq.id}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['requerimiento.label.descripcion']}">
                                <h:outputText value="#{dtoReq.descripcion}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['requerimiento.label.puesto']}" >
                                <h:outputText value="#{dtoReq.puestoDto.descripcion}" styleClass="txtCampo" />
                            </p:column>   
                            <p:column headerText="#{i18n['requerimiento.label.num_vacantes']}" rendered="false" >
                                <h:outputText value="#{dtoReq.numeroVacantes}" styleClass="txtCampo" />
                            </p:column>   
                            <p:column headerText="#{i18n['requerimiento.label.sede']}" >
                                <h:outputText value="#{dtoReq.sedeDto.descripcion}" styleClass="txtCampo" />
                            </p:column>   
                            <p:column headerText="#{i18n['requerimiento.label.postulantes']}" >

                            </p:column>    
                            <p:column headerText="#{i18n['requerimiento.label.aprobados']}" >

                            </p:column> 
                            <p:column headerText="#{i18n['requerimiento.label.desaprobados']}" >

                            </p:column>

                            <p:rowExpansion>
                                <p:dataTable  value="#{dtoReq.listaPostulantes}" var="dto"
                                              selectionMode="single" rowKey="#{dto.id}"
                                              emptyMessage="#{i18n['convocatoria.resultados.no.registros']}" styleClass="estiloPanel"                              
                                              paginator="true" rows="#{sessionMBean.cantidadRegistros}"  widgetVar="widTable">      
                                    <f:facet name="header">  
                                        #{i18n['convocatoria.titulo.resultados']}
                                    </f:facet>  
                                    <p:column style="text-align:center;">
                                        <h:panelGrid id="pgBotonesGrilla" columns="10" cellspacing="10" styleClass="estiloPanelGrid">
                                            <p:commandButton icon="ui-icon  ui-icon-close" title="#{i18n['convocatoria.button.desistir_postulante']}"
                                                             action="#{convocatoriaMBean.desistirPostulanteYBuscarReemplazo}" ajax="true"
                                                             rendered="#{sessionMBean.privilegiosOpciones['475']=='true' &amp;&amp; dto.indicadorSeleccionado}"
                                                             update=":frmPrincipal:tblPrincipal"
                                                             oncomplete="handlePostRequest(xhr, status, args)">
                                                <f:setPropertyActionListener value="#{dto}" target="#{convocatoriaMBean.postulanteDto}" />                                                                    
                                            </p:commandButton>
                                            <p:commandButton icon="ui-icon  ui-icon-pencil" title="#{i18n['convocatoria.button.completar_inf']}"
                                                             action="#{convocatoriaMBean.completarInformacion}" ajax="false"
                                                             rendered="#{sessionMBean.privilegiosOpciones['476']=='true' &amp;&amp; dto.indicadorSeleccionado}">
                                                <f:setPropertyActionListener value="#{dto}" target="#{convocatoriaMBean.postulanteDto}" />                                                                    
                                            </p:commandButton>
                                        </h:panelGrid>
                                    </p:column>
                                    <p:column headerText="#{i18n['general.label.id']}"  style="text-align:center;">
                                        <h:outputText value="#{dto.id}" styleClass="txtCampo" />
                                    </p:column>
                                    <p:column headerText="#{i18n['postulante.label.estado']}"  style="text-align:center;">
                                        <h:outputText value="#{dto.estadoDto.descripcion}" styleClass="txtCampo" />
                                    </p:column>
                                    <p:column headerText="#{i18n['postulante.label.nombre_completo']}">
                                        <h:outputText value="#{dto.personaDto.nombreCompleto}" styleClass="txtCampo" />
                                    </p:column>
                                    <p:column headerText="#{i18n['postulante.label.doc_ident']}"  >
                                        <h:outputText value="#{dto.personaDto.tipoDocumentoDto.descripcion} - #{dto.personaDto.numeroDocumento}" styleClass="txtCampo" />
                                    </p:column>
                                    <p:column headerText="#{i18n['postulante.label.estado_civil']}" >
                                        <h:outputText value="#{dto.personaDto.estadoCivilDto.descripcion}" styleClass="txtCampo" />
                                    </p:column>   

                                    <p:column style="text-align:left;">
                                        <f:facet name="header">
                                            <h:outputText value="#{i18n['postulante.label.fecha_nac']}" />
                                        </f:facet>
                                        <h:outputText value="#{dto.personaDto.fechaNacimiento}" styleClass="txtCampo" >
                                            <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"  timeZone="#{applicationMBean.timeZone}"/> 
                                        </h:outputText>                                
                                    </p:column>
                                    <p:column headerText="#{i18n['postulante.label.profesion']}">
                                        <h:outputText value="#{dto.personaDto.profPrincipalDto.descripcion}" styleClass="txtCampo" />
                                    </p:column>  
                                    <p:column headerText="#{i18n['postulante.label.nota_final']}" >
                                        <h:outputText value="#{dto.notaFinal}" styleClass="txtCampo" >
                                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                                        </h:outputText>
                                    </p:column>  
                                    <p:column headerText="#{i18n['postulante.label.acumulado']}" >
                                        <h:outputText value="#{dto.acumulado}" styleClass="txtCampo" />
                                    </p:column>
                                    <p:column headerText="#{i18n['postulante.label.puesto']}">
                                        <h:outputText value="#{dto.requerimientoDto.puestoDto.descripcion}" styleClass="txtCampo" />
                                    </p:column>  

                                    <p:column headerText="#{i18n['postulante.label.agencia']}" >
                                        <h:outputText value="#{dto.requerimientoDto.sedeDto.descripcion}" styleClass="txtCampo" />
                                    </p:column>                          
                                    <p:column headerText="#{i18n['postulante.label.r_cargo']}" >
                                        <h:outputText value="#{dto.requerimientoDto.sueldo}" styleClass="txtCampo" />
                                    </p:column> 

                                    <p:column style="text-align: center">
                                        <p:commandButton action="#{convocatoriaMBean.enviarAContratar}" 
                                                         ajax="true"
                                                         update=":frmPrincipal:tblPrincipal"
                                                         rendered="#{sessionMBean.privilegiosOpciones['477']=='true' &amp;&amp; dto.indicadorSeleccionado}"
                                                         title="#{i18n['postulante.button.enviar_contratar']}" icon="ui-icon ui-icon-check">                                       
                                            <f:setPropertyActionListener value="#{dto}" target="#{convocatoriaMBean.postulanteDto}" />                                             
                                        </p:commandButton>                                           
                                    </p:column>
                                </p:dataTable>

                            </p:rowExpansion>
                        </p:dataTable>

                        <h:panelGrid id="PnlVerPostulantes" columns="10"  style="float:left; margin-top: 10px" >                        
                            <p:commandButton title="#{i18n['convocatoria.button.ver_postulantes']}"
                                             disabled="#{!convocatoriaMBean.accesoBtnVerPost}"
                                             icon="ui-icon ui-icon-plus"
                                             value="#{i18n['convocatoria.button.ver_postulantes']}" 
                                             style="#{applicationMBean.cssBotonTransaccion}" 
                                             ajax="true"
                                             immediate="true"
                                             oncomplete="carDialogPostPorConv.show()"  
                                             update=":frmPopupPostPorConv:pgFormPostPorConv"
                                             actionListener="#{convocatoriaMBean.verPostulantes}">                                    
                            </p:commandButton>  

                            <p:commandButton title="#{i18n['convocatoria.button.enviar_contratar_masivo']}" 
                                             accesskey="#{applicationMBean.keyGuardar}" 
                                             ajax="false"
                                             icon="ui-icon ui-icon-disk" 
                                             disabled="#{convocatoriaMBean.listaRequerimientosPorConvocatoria.size() == 0}"
                                             onclick="return confirm('#{i18n['convocatoria.mensaje_confirm_enviar_contratar']}');" 
                                             rendered="#{sessionMBean.privilegiosOpciones['477']=='true'}"
                                             value="#{i18n['convocatoria.button.enviar_contratar_masivo']}" 
                                             style="#{applicationMBean.cssBotonTransaccion}"
                                             action="#{convocatoriaMBean.enviarAContratarTodos}">                                    
                            </p:commandButton>   
                        </h:panelGrid>
                    </h:panelGrid>
                </p:panel>
                <p:spacer height="10px"/>
                <p:panel id="pnlAcciones">
                    <h:panelGrid columns="10">                        

                        <p:commandButton title="#{i18n['general.button.atras.tip']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-arrowreturnthick-1-w" immediate="true"
                                         value="#{i18n['general.button.atras']}" style="#{applicationMBean.cssBotonAtras}"
                                         action="#{convocatoriaMBean.retroceder}">                                    
                        </p:commandButton>                   

                    </h:panelGrid>
                </p:panel>
            </h:form>

            <p:confirmDialog message="#{i18n['convocatoria.popup.desistir.postulante']}"
                             showEffect="bounce" hideEffect="explode"
                             header="Confimacion" severity="alert" widgetVar="dgconfirmation">
                <p:messages id="msjDialogConfirmPost" showDetail="false" autoUpdate="true" />   
                <h:panelGrid columns="10" style="float:right">
                    <p:commandButton id="confirm" value="SI" update=":msjDialogConfirmPost,:frmPrincipal:tblPrincipal" oncomplete="handlePostSiRequest(xhr, status, args)"  
                                     actionListener="#{convocatoriaMBean.desistirPostulanteSinReemplazo}" />  
                    <p:commandButton value="NO" onclick="dgconfirmation.hide()" type="button" /> 
                </h:panelGrid>     

            </p:confirmDialog>
            <p:dialog id="dialogPostPorConv" header="#{i18n['popup.responsable.por.etapa']}" widgetVar="carDialogPostPorConv" resizable="false"  
                      width="1200" height="600" modal="true">  
                <p:messages id="msjDialogPostPorConv" showDetail="false" autoUpdate="true" />   
                <ui:include src="/pages/sele/popup/popupPostulantesPorConvocatoria.xhtml" /> 
            </p:dialog>
            <script type="text/javascript">
                function handlePostRequest(xhr, status, args) {
                    if(!args.CallbackParam) {
                        dgconfirmation.show();
                    }
                }
                
                function handlePostSiRequest(xhr, status, args) {
                    if(args.validationFailed) {  
     
                    } else {                              
                        dgconfirmation.hide();  
                    }  
                }
            </script>
        </ui:define>
    </ui:composition>
</html>
